import 'jvtd_print.dart';
export 'jvtd_print.dart';

/// 日志工具类
class LogUtil {
  static const String _TAG_DEF = "JVTD_LOG"; //日志默认TAG

  static bool _debug = false; //是否是debug模式,true: log v 不输出.
  static String _logTag = _TAG_DEF; //日志输出TAG
  static bool _isInit = false;

  /// 初始化
  ///
  /// [debug] 是否为debug模式
  /// [tag] 输出标识
  static void init({bool debug = false, String tag = _TAG_DEF}) {
    _isInit = true;
    _debug = debug;
    _logTag = tag;
  }

  /// 错误日志输出
  ///
  /// [object] 输出内容
  /// [tag] 输出标识
  static void e(Object object, {String tag}) {
    _printLog(tag, '[ERROR]', object);
  }

  /// 默认日志输出
  ///
  /// [object] 输出内容
  /// [tag] 输出标识
  static void v(Object object, {String tag}) {
    if (_debug) {
      _printLog(tag, '[INFO]', object);
    }
  }

  /// 输出方法
  ///
  /// [tag] 输出标识
  /// [stag] 输出级别标识
  /// [object] 输出内容
  static void _printLog(String tag, String stag, Object object) {
    if (!_isInit) return;
    String da = object.toString();
    String _tag = (tag == null || tag.isEmpty) ? _logTag : tag;
    jvtdPrint(_tag, stag, da);
  }
}
